#include<bits/stdc++.h>
#define MOD 1000000007
#define MAX 200000
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
long long h;
int n;
cin>>h>>n;
vector<int> v(n);
for(int &x:v)cin>>x;
long long rem = 0;
for(int i=0;i<n;++i)
{
rem += v[i];
if(h+rem<=0)
{
cout<<i+1<<endl;
return 0;
}
}
if(rem<0)
{
long long ans = n*h, sm = 0;
rem *= -1;
for(int i=0;i<n;++i)
sm += v[i], ans = min(ans,i+1+(h+sm+rem-1)/rem*n);
cout<<ans<<endl;
}
else cout<<"-1"<<endl;
return 0;
}
1669E - 2-Letter Strings | 483A - Counterexample |
3C - Tic-tac-toe | 1669F - Eating Candies |
1323B - Count Subrectangles | 991C - Candies |
1463A - Dungeon | 1671D - Insert a Progression |
1671A - String Building | 1671B - Consecutive Points Segment |
1671C - Dolce Vita | 1669G - Fall Down |
4D - Mysterious Present | 1316B - String Modification |
1204A - BowWow and the Timetable | 508B - Anton and currency you all know |
1672A - Log Chopping | 300A - Array |
48D - Permutations | 677C - Vanya and Label |
1583B - Omkar and Heavenly Tree | 1703C - Cypher |
1511C - Yet Another Card Deck | 1698A - XOR Mixup |
1702E - Split Into Two Sets | 1703B - ICPC Balloons |
1702F - Equate Multisets | 1700A - Optimal Path |
665C - Simple Strings | 1708A - Difference Operations |